package com.atguigu.exam.mapper;


import com.atguigu.exam.entity.Question;
import com.atguigu.exam.vo.QuestionPageVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 题目Mapper接口
 * 继承MyBatis Plus的BaseMapper，提供基础的CRUD操作
 */
public interface QuestionMapper extends BaseMapper<Question> {
    /**
     * 获取每个分类的题目数量
     * @return 包含分类ID和题目数量的结果列表
     * */
    List<Map<Long,Long>> selectCategoryCount();
    /**
     * 分页查询题目信息，根据题目id查询选项
     * @param page
     * @param queryVo 实体类接收参数
     * @return
     * */
    IPage<Question> customPage(IPage page, @Param("queryVo") QuestionPageVo queryVo);
    /**
     * 根据ID查询题目详情
     * @param questionId
     * */
    Question customGetById(Long questionId);
    /**
     * 根据试卷ID查询试卷中的题目信息
     * @param id
     * */
    List<Question> findQuestionsDetailInfo(Integer id);
}